Quadratically constrained quadratic programming